<?php
/*
*All rights reserved: Json.
*Links:http://www.liyaoquan.cn.
*Links:http://imarkchina.cn.
*Links:http://www.imarkchina.cn.
*/

/**
 * 博客后台清理缓存控制器，负责，业务流程判断
 * 后台所有操作都需要权限，必需继承 CommonAction 控制器
 */
Class GetclearAction extends CommonAction{


	/**
	 * 清理缓存首页
	 * @return [type] [description]
	 */
	Public function index(){
		switch (G('get.mark')) {
			case 'index':
				if ($this->clearCache('index-*')) {
					$this->success('清理成功～！', U('index'));
				} else {
					$this->error('清理失败～！');
				}
				break;
			case 'list':
				if ($this->clearCache('list-*')) {
					$this->success('清理成功～！', U('index'));
				} else {
					$this->error('清理失败～！');
				}
				break;
			case 'post':
				if ($this->clearCache('post-*')) {
					$this->success('清理成功～！', U('index'));
				} else {
					$this->error('清理失败～！');
				}
				break;
			case 'page':
				if ($this->clearCache('page-*')) {
					$this->success('清理成功～！', U('index'));
				} else {
					$this->error('清理失败～！');
				}
				break;
			case 'log':
				$files = glob(LOG.'*.log');
				if ($files) {
					foreach ($files as $file) {
						if (is_file($file)) unlink($file);
					}
					$this->success('清理成功～！', U('index'));
				} else {
					$this->error('清理失败～！');
				}
				break;
			case 'pass':
				if ($this->deldir(COMPILEFILE)) {
					$this->success('清理成功～！', U('index'));
				} else {
					$this->error('清理失败～！');
				}
				break;
			default:
				break;
		}
		$this->display();
	}

	/**
	 * 删除目录与文件
	 * @param  [type] $dir [路径]
	 * @return [type]      [description]
	 */
	Public function  deldir($dir) {
	  //先删除目录下的文件：
	  $dh=opendir($dir);
	  while ($file=readdir($dh)) {
	    if($file!="." && $file!="..") {
	      $fullpath=$dir."/".$file;
	      if(!is_dir($fullpath)) {
	          unlink($fullpath);
	      } else {
	          $this->deldir($fullpath);
	      }
	    }
	  }
	  closedir($dh);
	  //删除当前文件夹：
	  if(rmdir($dir)) {
	    return true;
	  } else {
	    return false;
	  }
	}
}